1. Field of the Invention
The present invention relates generally to protecting access to proprietary elements of an object, and in particular, to a method, apparatus, and article of manufacture for providing a mechanism that prevents unauthorized persons from reverse-engineering the programming logic used to create objects (including shape objects) with authorable behaviors and appearances for computer programs.
2. Description of the Related Art
The use of Computer Assisted Drafting (CAD) application programs is well known in the art. Some CAD programs provide templates and palettes that help users create documents, graphical presentations, etc. These templates and palettes provide only limited assistance and do little to help the user connect standard CAD components, define new components, or define methods of manipulating the components within the CAD program.
Most standard components are predefined by the CAD program itself, leaving little room for the user to define custom shapes without using the predefined standard components as building blocks. A user must manipulate standard components to define a shape or outline, place them spatially proximate on a working screen, and then group them together using a grouping or wrapping function.
Since defining custom shapes may be difficult and consume significant time, shape authors such as companies and individuals may define custom shapes and provide or sell them to users of the system. However, once the custom authored shapes have been distributed, the elements that comprise a custom shape (e.g., objects, properties, attributes, and expressions) may be freely accessed, distributed, and modified. Thus, unauthorized users may perform unwanted changes in an authored shape by accessing the shape's elements. Further, a shape's elements may be utilized to create unauthorized new or derived custom authored shapes. Accordingly, there is no mechanism for a shape author to protect the author's investment in creating and defining the custom shape.
Similarly, an author may invest considerable effort, time, and money in creating any type of custom object. However, once the custom object has been distributed, the elements that comprise the custom object (e.g., objects, properties, attributes, and expressions) may be freely accessed, distributed, and modified. The prior art does not provide a mechanism for an object author to protect the author's investment in creating and defining the custom object.
Consequently, there is a need in the art for improved techniques for defining custom objects and shapes in a computer program (e.g., a CAD program) while maintaining the ability to protect the elements of the custom object or shape.